/* ***** BEGIN LICENSE BLOCK *****
 * Version: NPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Netscape Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/NPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is lutsko.com code.
 *
 * The Initial Developer of the Original Code is  James Lutsko 
 * (jim@lutsko.com http://www.lutsko.com).
 * Portions created by the Initial Developer are Copyright (C) 2003
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the NPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the NPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */




package autoschedule.ui;


import autoschedule.*;
import autoteam.ui.AutoTeamTablePanel;
import autoteam.ui.TableSorter;


import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.text.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;



class FacilityPanel extends JPanel
{
    FacilityAvailabilityModel model = null;
    AutoTeamTablePanel theTablePanel = null;
    JLabel theLabel = null;

    void setFacility(Facility f)
    {
	theTablePanel.stopEditing();
	model.facility = f;
	model.fireTableDataChanged();
	if(f != null) theLabel.setText("<html><h2>Facility Availability for " + f.getName()+ " </h2></html>");
	else  theLabel.setText("<html><h2>Facility Availability for <none></h2></html>");
    }

    void setDoc(AutoScheduleDoc doc)
    {
	model.setDoc(doc);
    }

    FacilityPanel(AutoScheduleDoc doc)
    {
	super();

	model = new FacilityAvailabilityModel(doc);
	theTablePanel = new AutoTeamTablePanel(model);

	JButton addButton = new JButton("Add+7");
        addButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) 
		{
		    theTablePanel.stopEditing();
		    int j = theTablePanel.getSelectedRow();
		    model.add(j,7);
		    model.fireTableDataChanged();
		    theTablePanel.setRowSelectionInterval(model.getRowCount()-1,model.getRowCount()-1);
		}
	    });
	theTablePanel.addButton(addButton);

	JButton sortButton = new JButton("Sort");
        sortButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) 
		{
		    theTablePanel.stopEditing();
		    model.facility.sortAvailability();
		    model.fireTableDataChanged();
		}
	    });
	theTablePanel.addButton(addButton);
	theTablePanel.addButton(sortButton);

	theTablePanel.setTableDateCellEditor();


	theLabel = new JLabel("<html><h2>Facility Availability for <none></h2></html>");
	this.add(Box.createRigidArea(new Dimension(10,25)));
	this.add(theLabel);

	this.add(theTablePanel);
       

    }



}
